unit UPessoaControl;

interface

uses UPessoaModel, UPessoa;

type
  TPessoaControl = class
    private
      FCodigo: Integer;
      FNome: String;
      FNascimento: TDateTime;

      function GetCodPessoa: Integer;
      function GetNascPessoa: TDateTime;
      function GetNomePessoa: String;

      procedure SetCodPessoa(const Value: Integer);
      procedure SetNascPessoa(const Value: TDateTime);
      procedure SetNomePessoa(const Value: String);
    protected

    public
      function GetIdade(const Value: TDateTime): Integer;

      function Pesquisar: String;
      
      property Codigo: Integer read GetCodPessoa write SetCodPessoa;
      property Nome: String read GetNomePessoa write SetNomePessoa;
      property Nascimento: TDateTime read GetNascPessoa write SetNascPessoa;
  end;

implementation

uses DateUtils, SysUtils;

{ TPessoa }

function TPessoaControl.GetCodPessoa: Integer;
begin
  Result := FCodigo;
end;

function TPessoaControl.GetIdade(const Value: TDateTime): Integer;
begin
  Result := YearsBetween(Now, Value);
end;

function TPessoaControl.GetNascPessoa: TDateTime;
begin
  Result := FNascimento;
end;

function TPessoaControl.GetNomePessoa: String;
begin
  Result := FNome;
end;

function TPessoaControl.Pesquisar: String;
  var
    objModelo: TPessoaModel;
begin
  objModelo := TPessoaModel.Create;
end;

procedure TPessoaControl.SetCodPessoa(const Value: Integer);
begin
  FCodigo := Value;
end;

procedure TPessoaControl.SetNascPessoa(const Value: TDateTime);
begin
  FNascimento := Value;
end;

procedure TPessoaControl.SetNomePessoa(const Value: String);
begin
  FNome := Value;
end;

end.
 